<?php
//建立提交表单
function feedback_form($form, &$form_state) {
	$form['title'] = array(
			'#type' => 'textfield',
			'#title' => '简短标题',
			'#required' => TRUE,
			);
	$form['email'] = array(
			'#type' => 'textfield',
			'#title' => '您的邮箱',
			'#required' => TRUE,
			);
	$form['type'] = array(
			'#type' => 'select',
			'#title' => '请选择一项',
			'#required' => TRUE,
			'#default_value' => '关于drupalla.com的一般性反馈',
			'#options' => drupal_map_assoc(array('关于drupalla.com的一般性反馈', t('建议一个新功能'), t('合作伙伴机会'), t('删除我的账户'))),
			'#required' => TRUE,
			);
	$form['body'] = array(
			'#type' => 'textarea',
			'#title' => '内容',
			'#required' => TRUE,
			);


	// Add the buttons.
	$form['buttons'] = array();
	$form['buttons']['#weight'] = 100;
	$form['buttons']['submit'] = array(
			'#type' => 'submit',
			'#value' => t('提交'),
			'#weight' => 5,
			'#submit' => array('feedback_form_submit'),//定义表单提交到数据库的函数，为function  feedback_form_submit
			'#prefix' => '<div class="feedback_form">',
			'#suffix' => '</div>',
			);
	$form['#validate'][] = 'feedback_form_validate';//定义表单验证函数，为function  feedback_form_validate
	return $form;
}
//表单提交到数据库的函数
function feedback_form_submit($form, &$form_state) {
	//插入数据库
	db_insert('feedback')
		->fields(array(
					'email' => $form_state['values']['email'],//获取表单email资料
					'ftype' => $form_state['values']['type'], //获取表单type资料
					'title' => $form_state['values']['title'],//获取表单title资料
					'body' => $form_state['values']['body'], //获取表单body资料
					'created' => time(),//获取当前时间
					))->execute();
	drupal_set_message(t('感谢给我们反馈意见。我们将以最快的速度回复。<br> <a href="<front>">回到首页</a>'));//提交完成后，显示提示消息
}
//表单验证函数
function feedback_form_validate($form, &$form_state) {
	//这里使用正则表达式，来验证网址的有效性，注意，这里的正则表达式，包围在"/...../"之间。
	if(!preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $form_state['values']['email'])){
		form_set_error('email',t('您输入的邮件地址格式不正确。'));
	}
}
